// frontend/js/cart.js
new Vue({
    el: '#app',
    data: {
        cartItems: []
    },
    mounted() {
        this.restoreCart();
    },
    methods: {
        // 从本地存储恢复购物车
        restoreCart() {
            try {
                const savedCart = localStorage.getItem('dishes_cart');
                if (savedCart) {
                    this.cartItems = JSON.parse(savedCart);
                }
            } catch (error) {
                console.error('恢复购物车失败:', error);
                this.cartItems = [];
            }
        },

        // 保存购物车到本地存储
        saveCart() {
            localStorage.setItem('dishes_cart', JSON.stringify(this.cartItems));
        },

        // 增加数量
        increaseQuantity(index) {
            this.cartItems[index].quantity += 1;
            this.saveCart();
        },

        // 减少数量
        decreaseQuantity(index) {
            if (this.cartItems[index].quantity > 1) {
                this.cartItems[index].quantity -= 1;
                this.saveCart();
            }
        },

        // 删除商品
        removeItem(index) {
            const itemName = this.cartItems[index].name;
            this.cartItems.splice(index, 1);
            this.saveCart();
            showSuccess(`已移除 ${itemName}`);
        },

        // 在cart.js的clearCart方法中优化
        clearCart() {
            this.$confirm('确定要清空购物车吗？', '清空确认', {
                confirmButtonText: '确定清空',
                cancelButtonText: '再想想',
                type: 'warning',
                confirmButtonClass: 'el-button--danger',
                cancelButtonClass: 'el-button--default',
                roundButton: true
            }).then(() => {
                this.cartItems = [];
                this.saveCart();
                this.$message({
                    type: 'success',
                    message: '购物车已清空',
                    duration: 2000,
                    showClose: true
                });
            }).catch(() => {
                this.$message({
                    type: 'info',
                    message: '已取消清空',
                    duration: 1500
                });
            });
        },

        // 返回上一页
        goBack() {
            window.history.back();
        },

        // 去下单
        goToOrder() {
            if (this.cartItems.length === 0) {
                handleApiError(new Error('购物车为空'), '请先选择餐品');
                return;
            }
            window.location.href = 'order.html';
        }
    }
});